Virtualization provides datacenters with highly efficient and available resource, networking, and storage management to reduce infrastructure costs such as capital, power, space, cooling, labor, and the like. In particular, virtual datacenters can have numerous host computers each executing thousands of virtual machines and guest operating systems. In such virtual datacenters or other shared storage systems, multiple host computers may share the same set of storage devices.
However, stealing a virtual machine by copying or modifying a file representing the virtual machine may be performed from anywhere on a network, or by using a flash drive. Further, the virtual machine has at least one data file (e.g., a virtual machine disk such as in the VMDK format) describing the virtual machine. This data file may be copied even when the virtual machine is not powered on, potentially resulting in data loss.
Some existing systems attempt to prevent unauthorized access to the physical host computers. For example, some of the existing systems use hardware-specific cryptographic coprocessors, or virtualized modules in a dedicated virtual machine. However, these existing systems fail to protect virtual machines, and their supporting data, hosted on the physical host computers. Further, in a virtualized environment a virtual machine may be migrated from one host to another host through operations such as vMotion from VMware, Inc. In this case, it is difficult to provide security for these virtual machines using hardware-specific cryptographic coprocessors. In particular, preventing access to the physical host computers does not secure, individually, the virtual machines hosted thereon. For example, using a virtualized module in a virtual machine dedicated to protecting the host computer does not protect the dedicated virtual machine. With the existing systems, virtual machine data may still be leaked even if the physical host computer hosting the virtual machine is protected using the existing systems.